<?php
class TemasController extends AppController{

	var $name='Temas';
	var $helpers=array('Access');

	function index() {
		$this->Tema->recursive = 0;		
		$temas = $this->paginate('Tema');		
		$cartilla = $modulo = $area = "";
		foreach ($temas as &$tema):		
			$unidad = $this->Tema->Proyecto->Unidade->read('nombre',$tema['Proyecto']['unidade_id']);
					
			$nombre=$unidad['Unidade']['nombre'];
			$tema['unidad']=$nombre;

			if($tema['Proyecto']['area_id']!=NULL){
				$area=$this->Tema->Proyecto->Area->read('nombre',$tema['Proyecto']['area_id']);
				$area=$area['Area']['nombre'];
				
			}
			$tema['area']=$area;
			
			if($tema['Proyecto']['cartilla_id']!=NULL){
				$cartilla=$this->Tema->Proyecto->Cartilla->read('nombre', $tema['Proyecto']['cartilla_id']);
				$cartilla = $cartilla['Cartilla']['nombre'];
				
			}
			$tema['cartilla'] = $cartilla;
			
			if($tema['Proyecto']['modulo_id']!=NULL){
				$modulo=$this->Tema->Proyecto->Modulo->read('nombre', $tema['Proyecto']['modulo_id']);
				$modulo=$modulo['Modulo']['nombre'];				
			}
			$tema['modulo']=$modulo;
			$cartilla = $modulo = $area = "";
		//	var_dump($tema);
	  endforeach;
	  //die();
		
	  $this->set(compact('temas'));
	}

	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid tema', true));
			$this->redirect(array('action'=>'index'));
		}
		
		$this->set('tema', $this->Tema->read(null, $id));
	}
	
	function add() {
		if (!empty($this->data)) {
			$this->Tema->create();
			if ($this->Tema->save($this->data)) {
				$this->Session->setFlash(__('El tema ha sido guardado', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The tema could not be saved. Please, try again.', true));
			}
		}		
		$metodologias=$this->Tema->Proyecto->Unidade->Metodologia->find('list', array('fields'=>array('Metodologia.id','Metodologia.nombre')));
		$this->set(compact('metodologias'));
	}

	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid tema', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->Tema->save($this->data)) {
				$this->Session->setFlash(__('El tema ha sido actualizado', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The tema could not be saved. Please, try again.', true));
			}
		}
		if (empty($this->data)){
			$this->data = $this->Tema->read(null, $id);
		}
		
		//Unidades
		
		$unidad_activa = $this->data['Proyecto']['unidade_id'];

		$unidad_data = $this->Tema->Proyecto->Unidade->read(null,$this->data['Proyecto']['unidade_id']);	
		$grado = $unidad_data['Unidade']['grado_id'];
		
		//metodologia
		$metodologias=$this->Tema->Proyecto->Unidade->Metodologia->find('list', array('fields'=>array('Metodologia.id','Metodologia.nombre')));
		$metodologia_activa=$this->Tema->Proyecto->Unidade->Grado->read(null,$grado);
		$metodologia_activa = $metodologia_activa['Grado']['metodologia_id'];		
		
		//Grados
		$grados = $this->Tema->Proyecto->Unidade->Grado->find('list',array('fields'=>array('Grado.id','Grado.nombre'),'conditions'=>array('Grado.metodologia_id'=>$unidad_data['Unidade']['metodologia_id'])));
		
		//Cartillas
		$cartillas = $this->Tema->Proyecto->Unidade->Cartilla->find('list',array('fields'=>array('Cartilla.id','Cartilla.nombre'), 
											  'conditions'=>array('Cartilla.grado_id'=>$grado)));
		$cartilla_activa=$this->data['Proyecto']['cartilla_id'];
		
		//Modulos
		$modulos = $this->Tema->Proyecto->Unidade->Modulo->find('list',array('fields'=>array('Modulo.id','Modulo.nombre'), 
											  'conditions'=>array('Modulo.grado_id'=>$grado)));
		$modulo_activo=$this->data['Proyecto']['modulo_id'];
			
		//Areas
		$areas = $this->Tema->Proyecto->Unidade->Area->find('list',array('fields'=>array('Area.id','Area.nombre'), 
											  'conditions'=>array('Area.grado_id'=>$grado)));
		$area_activa=$this->data['Proyecto']['area_id'];
		
		$unidades = $this->Tema->Proyecto->Unidade->find('list', array('fields'=>array('Unidade.id','Unidade.nombre'), 'conditions'=>array('Unidade.cartilla_id'=>$cartilla_activa, 
																		'OR'=>array('Unidade.modulo_id'=>$modulo_activo, 'Unidade.area_id'=>$area_activa))));
		
		//Proyectos
		$proyectos=$this->Tema->Proyecto->find('list',array('fields'=>array('Proyecto.id','Proyecto.nombre'), 'conditions'=>array('Proyecto.unidade_id'=>$unidad_activa)));
		
		$this->set(compact('proyectos','unidades','unidad_activa','cartillas','cartilla_activa', 'modulos','modulo_activo', 'areas','area_activa', 'metodologias','metodologia_activa', 'grados', 'grado'));
		
		
	}	
	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Tema no valido', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Tema->delete($id)) {
			$this->Session->setFlash(__('Tema eliminado', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('El tema no se ha podido eliminar', true));
		$this->redirect(array('action'=>'index'));
	}
	
	function get_temas_proyecto($proyecto = null){
		if( $proyecto!=null){
			$temas = $this->Tema->find("list", array("fields"=>array("Tema.id", "Tema.nombre"), 
															  "conditions"=>array("Tema.proyecto_id"=>$proyecto)));
			$this->view = 'Json';
			$this->set(compact('temas'));
			$this->set('json', 'temas');
		}
	}
	
}